package br.com.senac.digipao.servlet;

import br.com.senac.digipao.bean.Cliente;
import br.com.senac.digipao.bean.Usuario;
import br.com.senac.digipao.dao.ClienteDao;
import java.io.IOException;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet(name = "alteraCadastroClienteServlet", urlPatterns = {"/alteraCadastroClienteServlet"})
public class AlteraCadastroClienteServlet extends HttpServlet {
    
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");

        String operacao = request.getParameter("operacao");
             
        if (operacao.equals("Alterar")) {
                
            Cliente clienteParaAlteracao = (Cliente) request.getSession(true).getAttribute("ClienteParaAlterar");

            // pegando os parâmetros do request
            int idCliente = clienteParaAlteracao.getIdCliente();
            String nome = request.getParameter("nome");
            String endereco = request.getParameter("endereco");
            String bairro = request.getParameter("bairro");
            String cidade = request.getParameter("cidade");
            String estado = request.getParameter("estado");
            String email = request.getParameter("email");
            String telefone = request.getParameter("telefone");

            // monta um objeto cliente
            Cliente cliente = new Cliente();
            cliente.setIdCliente(idCliente);
            cliente.setNome(nome);
            cliente.setEndereco(endereco);
            cliente.setBairro(bairro);
            cliente.setCidade(cidade);
            cliente.setEstado(estado);
            cliente.setEmail(email);
            cliente.setTelefone(telefone);

            // salva o cadastro do usuario
            try {
                ClienteDao dao = new ClienteDao();
                dao.alteraCliente(cliente);
            } catch (SQLException ex) {
                Logger.getLogger(AlteraCadastroClienteServlet.class.getName()).log(Level.SEVERE, null, ex);
            }

            request.getSession().removeAttribute("ClienteParaAlterar");
            request.getSession().removeAttribute("ListaCliente");
            RequestDispatcher rd = request.getRequestDispatcher("/media/jsp/alteradoComSucesso.jsp");
            rd.forward(request, response);

        } else {
            RequestDispatcher rd = request.getRequestDispatcher("/media/jsp/menuPrincipal.jsp");
            rd.forward(request, response);
        }
    }
}
